package com.suxiaoxiao.springbootlearn.designpattern.statepattern.goodcode;

import java.io.Serializable;

/**
 * 状态接口
 * @author zhaorongzhang
 */
public abstract class State implements Serializable {

    /**
     * 序列化ID，用于网络传输。
     */
    private static final long serialVersionUID = -8458580270450163186L;

    /**
     * 投币
     */
    public void insertQuarter() {
        System.out.println("不能投币");
    }

    /**
     * 退币
     */
    public void ejectQuarter() {
        System.out.println("不能退币");
    }

    /**
     * 转动曲柄
     */
    public void turnCrank() {
        System.out.println("不能转动曲柄");
    }

    /**
     * 生成糖果
     */
    public void dispense() {
        System.out.println("不能生成糖果");
    }

    /**
     * 重填糖果
     */
    public void refill(int count) {
        System.out.println("您的状态不对，无法重填。");
    }

}
